In signal processing, linear phase is a property of a filter where the phase response of the filter is a linear function of frequency. The result is that all frequency components of the input signal are shifted in time (usually delayed) by the same constant amount (the slope of the linear function), which is referred to as the group delay. Consequently, there is no phase distortion due to the time delay of frequencies relative to one another.
Zero-phase filters are a special case of linear-phase filters where the group delay is zero. In non-real-time digital signal processing, this can be obtained from any linear-phase filter simply by shifting the filtered output of a linear-phase filter backwards in time by the linear-phase filter's group delay, so sometimes all linear-phase filters are loosely referred to as zero-phase filters.
For discrete-time signals, perfect linear phase is easily achieved with a finite impulse response (FIR) filter by having coefficients which are symmetric or anti-symmetric. Approximations can be achieved with infinite impulse response (IIR) designs, which are more computationally efficient. Several techniques are:
where:
For a discrete-time application, the discrete-time Fourier transform of the linear phase impulse response has the form:
where:
is a Fourier series that can also be expressed in terms of the Z-transform of the filter impulse response. I.e.:
where the notation distinguishes the Z-transform from the Fourier transform.
where :
It follows that a complex exponential function:
is transformed into:
The multiplier , as a function of ω, is known as the filter's frequency response.
For approximately linear phase, it is sufficient to have that property only in the passband(s) of the filter, where |A(ω)| has relatively large values. Therefore, both magnitude and phase graphs (Bode plots) are customarily used to examine a filter's linearity. A "linear" phase graph may contain discontinuities of π and/or 2π radians. The smaller ones happen where A(ω) changes sign. Since |A(ω)| cannot be negative, the changes are reflected in the phase plot. The 2π discontinuities happen because of plotting the principal value of instead of the actual value.
In discrete-time applications, one only examines the region of frequencies between 0 and the Nyquist frequency, because of periodicity and symmetry. Depending on the frequency units, the Nyquist frequency may be 0.5, 1.0, π, or ½ of the actual sample-rate. Some examples of linear and non-linear phase are shown below.
A discrete-time filter with linear phase may be achieved by an FIR filter which is either symmetric or anti-symmetric. A necessary but not sufficient condition is :
Most popular signal processing software such as SciPy, Octave, and R has a built-in function for this purpose, usually called filtfilt.
Because of this constant, the phase of the system is not a strictly linear function of frequency, but it retains many of the useful properties of linear phase systems.
|
|